﻿using System;

namespace homework1_prime_factors
{
    class Program
    {
        // 判断一个数是否为素数
        static bool IsPrime(int number)
        {

            if (number <= 3)
            {
                return number > 1;
            }
            for (int i = 2; i < number; i++)
            {
                if (number % i == 0)
                {
                    return false;
                }
            }
            return true;
        }

        // 找出所有素数因子并输出
        static void FindPrimeFactors(int num)
        {
            Console.WriteLine(num+"的所有素数因子：");

            for (int i = 2; i < num; i++)
            {
                if (num % i == 0 && IsPrime(i))
                {
                    Console.WriteLine(i);
                }
            }
        }

        static void Main()
        {
            Console.WriteLine("输入一个正整数后输出所有它的素数因子，输入-1退出程序");
            while (true)
            {
                Console.Write("请输入一个正整数： ");
                if (int.TryParse(Console.ReadLine(), out int userInput) && userInput > 0)
                {
                    FindPrimeFactors(userInput);
                }
                else
                {
                    Console.WriteLine("请输入有效的正整数。");
                }
            }
        }
    }
}
